There currently exists a wide range of text input techniques for use with electronic devices. QWERTY-style keyboards are the de facto standard for text input on desktop and laptop computers. The QWERTY layout was designed for two-handed, multi-digit typing on typewriters in 1878 and has been in wide use ever since. It has proven highly effective given a measure of training and/or experience. Reduced-size QWERTY-style keyboards are also used for text entry on mobile devices, such as PDAs and some mobile phones. These keyboards are generally operated using both thumbs, and their advantage lies in the fact that users are almost always familiar with the QWERTY layout. Devices such as the Blackberry Bold and the Nokia N810 utilize this model.
Text input for mobile phones, however, has focused primarily on methods of entering alphabetic characters using a 9-digit keypad, where each key usually represents either three or four characters. There are various techniques employed to reduce the number of keystrokes required.
Handwriting recognition has been widely used in the PDA market where input is mostly stylus-based. While it has some advantages for users raised on paper-based handwriting, the use of this technology has declined in recent years because it is relatively slow in comparison with most keyboard-based methods. Speech recognition text input systems also exist for both standard and mobile computational devices. These have not been widely adopted due to limitations in accuracy and the adverse effects of noisy environments.
Touch-screen devices offer a highly flexible platform for different styles of text input, and there are many different models currently available. Traditional QWERTY-style ‘soft’ keyboards are implemented on devices such as the Apple iPhone and many touch-screen PDAs running Windows Mobile. Other devices such as the Blackberry Storm use multi-character soft keyboards with various methods of disambiguation and completion. There are also many third-party systems that offer alternative methods of text entry for touch-screen devices. Examples include ShapeWriter (ShapeWriter Inc.) which is based on recognition of the shapes created by sliding between letters on a QWERTY-style background, and ExIdeas' MessageEase which utilizes an optimized keyboard layout for stylus and finger-based entry.
A somewhat different model of text entry is offered by the University of Cambridge's “Dasher” system, in which text input is driven by natural, continuous pointing gestures rather than keystrokes. It relies heavily on advanced language model-based character prediction, and is aimed primarily at improving accessibility for handicapped users, although it can also be used in mobile and speech recognition-based applications.
Many of the input models discussed above utilize some form of text prediction technology. Known prediction models for enhancing text input have two main functions: (1) disambiguation of multiple-character keystrokes, and (2) offering potential completions for partially-entered sequences. Examples of such technologies include Tegic Communications'“T9”, Motorola's “iTap”, Nuance's “XT9”, Blackberry's “SureType” and Zi Technology's “eZiType” and “eZiText”. In each case a dictionary of allowable terms is maintained and, given a particular input sequence, the system chooses a legitimate term (or set of terms) from the dictionary and presents it to the user as a potential completion candidate. T9 requires the user to enter a number of characters equal to the length of the target input sequence, and thus only offers function (1) above, whereas the other systems offer both (1) and (2).
In all of these technologies, the basic dictionary can be augmented with new terms entered by the user. This is limited only by the amount of device memory available. T9 uses a static dictionary, meaning that words sharing the same key sequence are always suggested to the user in the same order. In contrast, Motorola's iTap utilizes a dynamic dictionary, meaning that the first word predicted for a given key sequence may not remain the same each time the key sequence is entered. Rather, completions are suggested in order of most recent use. However, this method does not keep track of which completion is the most probable; it merely chooses the one used most recently.
Blackberry's SureType, Nuance's XT9 and Zi Technology's eZiType offer somewhat more sophisticated models, in which candidate completions are ordered on the basis of usage frequency statistics. In addition, Zi Technology's eZiText also has the ability to predict multi-word completion candidates given appropriate input, by scanning a user's previous input to identify high frequency phrases.
Previously, work on enhancing user interaction with keyboards of limited size has provided a number of methods based on reduced-size keyboards, which do not cover the full range of characters for a given language. This is the subject of U.S. Pat. No. 6,307,549, which provides a method for disambiguating the output from a reduced keyboard (usually about 3 characters per key). Word-level disambiguation is provided using a selection button which enables a user to cycle through possible matches to the current input. An alternative reduced keyboard layout, based on the common QWERTY layout, is the ‘half qwerty’ layout provided by U.S. Pat. No. 7,083,342, which also uses extra post-input disambiguation.
Although reduced keyboards have a reduced error rate, they also quantize the input more roughly, meaning that there is less information content in the input the computer receives from a reduced keyboard than a full keyboard.
In theory, with an adequate error-correction system, a full keyboard with error correction should require less disambiguation keystrokes than a reduced keyboard. On a hard keyboard, an input event relates to a user pressing down on a key of the keyboard. For such keyboards, the user can press any location within the boundary of a key; the corresponding input event will be the same for all locations within that boundary. However, with touch-sensitive ‘soft keyboards’, it is possible to use the almost continuous co-ordinates of touches on the soft keyboard.
Many existing virtual keyboard systems, e.g. United States patent application publication number 2009/0284471 and predecessors, incorporate mechanisms for automatically ‘correcting’ user input in instances where the system receives a character that is not the one intended by the user. Such systems are based around the idea of associating a pre-specified set of locations, each designated by a set of Cartesian coordinates, with characters available for input by the user. Given a set of coordinates representing an input event, the distances between this event and surrounding pre-specified locations within an ‘auto-correcting region’ are used to construct a weighted set of characters assigned to that event. The auto-correcting region comprises a plurality of characters of the alphabet. During input, the user is presented with a set of ‘objects’ that are considered likely intended character sequences. As the user selects his/her intended input sequences, the (potentially weighted) horizontal and vertical offsets between the input event coordinates and the character coordinates are computed, and the relevant moving average used to calibrate input event coordinates to reflect a user's typing style. The moving average may be a running average where the coordinates of each key are set to the average of all previous input events for that key.
The above described existing virtual keyboards model each character as a location specified by a set of coordinates. What is needed is a system and method that models a user's actual input as he or she targets characters on a virtual keyboard.